Automated Clustering and Program Repair for Introductory Programming Assignments

نویسندگان

  • Sumit Gulwani
  • Ivan Radicek
  • Florian Zuleger
چکیده

Providing feedback on programming assignments is a tedious task for the instructor, and even impossible in large MOOCs with thousands of students. In this paper, we present a novel technique for automatic feedback generation: (1) For a given programming assignment, we automatically cluster the correct student attempts based on their underlying strategy. From each class we select one student attempt as a specification for the given strategy. (2) Given an incorrect student attempt we run a repair procedure against all specifications, and automatically generate the minimal repair based on one of them. We evaluated the approach on 56,806 student attempts over 18 problems from an undergraduate programming course and a MOOC course. In our evaluation we first automatically clustered correct attempts and generated specifications from the correct student attempts and then used these specifications to repair the incorrect student attempts without any human intervention, finding repairs for 86% of incorrect student attempts in around 7 seconds per attempt.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Automated Correction for Syntax Errors in Programming Assignments using Recurrent Neural Networks

We present a method for automatically generating repair feedback for syntax errors for introductory programming problems. Syntax errors constitute one of the largest classes of errors (34%) in our dataset of student submissions obtained from a MOOC course on edX. The previous techniques for generating automated feedback on programming assignments have focused on functional correctness and style...

متن کامل

Synthesizing Imperative Programs for Introductory Programming Assignments

We present a novel algorithm that synthesizes imperative programs for introductory programming courses. Given a set of input-output examples and a partial program, our algorithm generates a complete program that is consistent with every example. Our key idea is to combine enumerative program synthesis and static analysis, which aggressively prunes out a large search space while guaranteeing to ...

متن کامل

Search, Align, and Repair: Data-Driven Feedback Generation for Introductory Programming Exercises

This paper introduces the “Search, Align, and Repair” datadriven program repair framework to automate feedback generation for introductory programming exercises. Distinct from existing techniques, our goal is to develop an efficient, fully automated, and problem-agnostic technique for large or MOOC-scale introductory programming courses. We leverage the large amount of available student submiss...

متن کامل

Program Repair via Direct State Manipulation

1 University of Wisconsin-Madison 2 Purdue University Microsoft Abstract. The goal of program repair is to automatically fix programs to meet a specification. We propose a new specification mechanism, direct manipulation, in which the programmer can visualize the trace of a buggy program on a failing input and convey the intended program behaviour by manipulating variable values at some locatio...

متن کامل

On automated grading of programming assignments in an academic institution

Practise is one of the most important steps in learning the art of computer programming. Unfortunately, human grading of programming assignments is a tedious and error-prone task, a problem compounded by the large enrolments of many programming courses. As a result, students in such courses tend to be given fewer programming assignments than should be ideally given. One solution to this problem...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1603.03165  شماره 

صفحات  -

تاریخ انتشار 2016